////https://www.luogu.com.cn/problem/P1115
//
//#include<iostream>
//#include<algorithm>
//using namespace std;
//const int N = 2e5 + 10;
//int x[N];
//
//int func(int left, int right)
//{
//	if (left >= right) return x[left];
//	int mid = (left + right) / 2;
//	int retl, retr, tmpl = 0, tmpr = 0;
//	retl = retr = -0x3f3f3f3f;
//	int l = mid, r = mid + 1;
//	while (l >= left)
//	{
//		tmpl += x[l--];
//		retl = max(tmpl, retl);
//	}
//	while (r <= right)
//	{
//		tmpr += x[r++];
//		retr = max(tmpr, retr);
//	}
//	return max({ func(left,mid), func(mid + 1,right),retl + retr });
//}
//
//int main()
//{
//	int n;
//	cin >> n;
//	for (int i = 1; i <= n; i++) cin >> x[i];
//	cout << func(1, n);
//	return 0;
//}